package bdcin.servlet.actions.documento;

import java.io.IOException;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import bdcin.classesbasicas.Documento;
import bdcin.excecoes.BuscarException;
import bdcin.fachada.BDCInFactory;
import bdcin.fachada.IBDCIn;
import bdcin.servlet.actions.Action;

public class BuscarDocumentoEditarAction extends Action {
	
	
	
	@Override
	public void executar(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException, BuscarException {
		
		IBDCIn facade = BDCInFactory.getFacade();
		String tipoBusca = request.getParameter("tipoBusca");
		String parametro = request.getParameter("parametroBusca");
		List<Documento> documentos = null;
		
		request.setAttribute("documentoAtual", 0);
		
		if(tipoBusca.equals("porTitulo"))
		{
		documentos = facade.buscarDocumentoPorTitulo(parametro);
		}		
		else if (tipoBusca.equals("porArea")){
		documentos = facade.buscarDocumentoPorArea(parametro);
		}
		else if (tipoBusca.equals("porAutor")){
			documentos = facade.buscarDocumentoPorAluno(parametro);
		}
		else if (tipoBusca.equals("porOrientador")){
			try {
				documentos = facade.buscarDocumentoPorOrientador(parametro);
			} catch (BuscarException e) {
				request.setAttribute("mensagem", e.getMessage());
				request.getRequestDispatcher("mensagem.jsp").forward(request, response);
			}
		}
		else if (tipoBusca.equals("porCoorientador")){
			try {
				documentos = facade.buscarDocumentoPorCoOrientador(parametro);
			} catch (BuscarException e) {
				request.setAttribute("mensagem", e.getMessage());
				request.getRequestDispatcher("mensagem.jsp").forward(request, response);
			}
			
		}
		
		if(documentos != null && documentos.size() > 0) {
			request.getSession(true).setAttribute("documentos",documentos);    	
			request.getRequestDispatcher("./Controlador?action=documento.DocumentoAction&nomeJSP=resultadoBuscaEditar").forward(request, response);
		} else {
			request.setAttribute("mensagem", "Nenhum documento encontrado!");
			request.getRequestDispatcher("mensagemErro.jsp").forward(request, response);
		}
		
	}
}